package com.jwsoft.manager.core.integration.common;

import com.alibaba.fastjson.JSONArray;
import com.jwsoft.manager.common.vo.dygx.*;
import com.jwsoft.manager.common.vo.eduHouse.EduHouseVO;
import com.jwsoft.manager.common.vo.eduHouse.HouseInterfaceVO;
import com.jwsoft.manager.core.dao.model.EduSocialSecurityDetail;

import java.util.List;
import java.util.Map;

/**
 * 东阳大数据共享接口
 * */
public interface DygxIntegration {
    //东阳大数据共享获取token
    String getToken();
    String getToken(boolean flag);
    //Irs大数据共享获取token
    String refreshTokenByKeyIrs(String appKey,String appsecret);
    String refreshTokenBySecIrs(String appKey,String appsecret,String refreshKey);
    //设置Irs请求参数
    Map<String,Object> setIrsParams(Map<String,Object> paramsMap);
    //金华大数据共享获取token
    String refreshTokenByKeyJh(String appKey,String appsecret);
    String refreshTokenBySecJh(String appKey,String appsecret,String refreshKey);
    //设置金华请求参数
    Map<String,Object> setJhParams(Map<String,Object> paramsMap);

    //设置Irs请求头
    Map<String,String> setHeaders(String userId,String idcard,String ip,Map<String, Object> paramsMap);
    /***
     * 中小学学籍信息
     * @param zjbh 证件号码
     * **/
    JSONArray getStudentStatus(String zjbh);
    /**东阳市不动产登记系统提供查询服务(根据姓名身份证查询)
     * @param name 姓名
     * @param zjh 证件号码
     * **/
    JSONArray getPersonHouse(String name,String zjh,String ip);
    /***
     * 住建局房地产网签数据
     * @param zjhm 证件号码
     * **/
    List<WqVO> getHouseOnline(String zjhm);
    /**
     * 个人参保查询（东阳）
     * @param aac147 证件号码
     * **/
    List<CbVO> getGrcbDy(String aac147,String ip);
    /**
     * 个人参保查询（省）
     * @param aac002 证件号码
     * @param aac003 证件号码
     * **/
    JSONArray getGrcb(String aac002,String aac003,String ip);
    /**
     * 市场监督管理局市场主体信息（东阳）
     * @param uniscid 统一社会信用代码
     * **/
    JSONArray getOrgInfo(String uniscid);
    /**
     * 省公安厅居民户口簿(家庭)(作废)
     * @param czrkgmsfhm 身份证号码
     * **/
    JSONArray getFamilyInfo(String czrkgmsfhm);

    /**
     * 省公安厅居民户口簿(家庭) irs
     * @param czrkgmsfhm 身份证号码
     * **/
    JSONArray getFamilyInfoIrs(String czrkgmsfhm,String ip);
    /**
     * 户籍信息查询（东阳）
     * @param gmsfhm 身份证号码
     * **/
    List<DyHouseholdVO> getDyHjInfo(String gmsfhm,String ip);
    /**
     * 居住证查询（东阳）
     * @param sfzh 身份证号码
     * **/
    List<DyJzzVO> getDyJzz(String sfzh,String ip);

    /**
     * 省公安厅居住证 irs
     *
     * @param sfzh 身份证号码
     **/
    JSONArray getJzzIrs(String sfzh, String xm,String ip);
    /**
     * 出生证明(省)
     * */
    List<CszmVO> getCszm(CszmQueryVO cszmQueryVO);
    /**
     * 根据单位全称获取法人登记基本信息(省)
     * */
    List<QyVO> getQy(QyQueryVO qyQueryVO);

    /**
     * 法人企业信息查询IRS
     */
    JSONArray getFrQyIrs(String identificationId);
    /**
     * 根据身份证获取近7个月养老缴费记录(东阳)
     * */
    List<EduSocialSecurityDetail> getCbDetail(String aac147,String ip);

    /**
     * 根据身份证提供该人员社保累计缴费月数(东阳)
     */
    Integer getCbJfys(String aac147,String ip);

    /**
     *金华大数据共享-通过合同编号，行政区划查询金华市二手房合同查询接口
     * */
    List<WqVO> getHouseOnlineJH2(String zjhm,String htbh,String htbah,String xzqh,String ip);
    /**
     *金华大数据共享-通过合同编号，行政区划查询金华市一手房合同查询接口
     * */
    List<WqVO> getHouseOnlineJH1(String zjhm,String htbh,String htbah,String xzqh,String ip);
    /**
     * 金华大数据共享-金华市房产信息验证接口
     * */
    List<HouseInterfaceVO> getHouseByBdczh(String bdcqzh, String qlrmc,String ip);
}
